package com.etcn.modules.busi.member.service;

import java.util.Map;
import com.etcn.common.pojo.FileUploadVo;
import com.etcn.common.service.ICrudService;
import com.etcn.modules.busi.member.dao.IWmMemberDao;
import com.etcn.modules.busi.member.pojo.WmMember;



/**
 * 会员service
 * @author guozc
 * @date 2018-03-09 08:21:55
 */
public interface IWmMemberService extends ICrudService<IWmMemberDao, WmMember> {

	/**
	 * 注册
	 * @param entity
	 * @throws Exception
	 */
	Map<String,Object> register(WmMember entity) throws Exception;
	
	/**
	 * 登录
	 * @param entity
	 * @return
	 * @throws Exception
	 */
	Map<String,Object> login(WmMember entity) throws Exception;

	/**
	 * 短信登录
	 * @param entity
	 * @return
	 * @throws Exception
	 */
	Map<String,Object> loginWithSms(WmMember entity) throws Exception;
	
	/**
	 * 退出登录
	 * @param entity
	 * @return
	 * @throws Exception
	 */
	void logout() throws Exception;
	
	/**
	 * 查询会员信息
	 * @param memberId
	 * @return
	 * @throws Exception
	 */
	Map<String, Object> getDetail(String memberId) throws Exception;
	
	/**
	 * 上传头像
	 * @param fileUploadVo
	 * @return
	 * @throws Exception
	 */
	Map<String, Object> uploadAvatar(FileUploadVo fileUploadVo) throws Exception;
	
	/**
	 * 修改会员资料
	 * @param entity
	 * @throws Exception
	 */
	Map<String, Object> updateByMemberId(WmMember entity) throws Exception;
	
	/**
	 * 修改密码
	 * @param entity
	 * @return
	 * @throws Exception
	 */
	void changePwd(WmMember entity) throws Exception;
	
	/**
	 * 忘记密码
	 * @param entity
	 * @throws Exception
	 */
	void forgotPwd(WmMember entity) throws Exception;
	
	/**
	 * 发送注册短信验证码
	 * @param entity
	 * @throws Exception
	 */
	void sendRegisterSms(WmMember entity) throws Exception;

    /**
     * 发送验证码
     * @throws Exception
     */
	void sendsms(WmMember entity) throws Exception;
	
	/**
	 * 支付回调更新会员信息
	 */
	void payUpdate(WmMember member) throws Exception;
	
	/**
	 * vip过期更新
	 */
	void vipExpireUpdate(WmMember member) throws Exception;
	
	/**
	 * 根据会员id查询会员信息
	 * @param memberId
	 * @return
	 * @throws Exception
	 */
	WmMember getByMemberId(String memberId) throws Exception;
	
	
}